A file server is a type of storage server which operates on behalf of one or more clients to store and manage shared files in a set of mass storage devices, such as magnetic or optical storage based disks. The mass storage devices are typically organized as one or more groups of Redundant Array of Independent (or Inexpensive) Disks (RAID). One configuration in which file servers can be used is a network attached storage (NAS) configuration. In a NAS configuration, a file server can be implemented in the form of an appliance, called a filer, that attaches to a network, such as a local area network (LAN) or a corporate intranet. An example of such an appliance is any of the NetApp Filer products made by Network Appliance, Inc. in Sunnyvale, Calif.
A file server can be used to backup data, among other things. One particular type of data backup technique is known as “mirroring”. Mirroring involves backing up data stored at a primary site by storing an exact duplicate (an image) of the data at a remote secondary site. The purpose is that, if data is ever lost at the primary site, it can be recovered from the secondary site.
A mirroring arrangement may be established between two filers. For example, a client may be connected to a first filer. The first filer, or source filer, stores data generated by the client. The client may be, for example, a bank that generates transactions, which are generally data access requests that modify or add data to a volume. The transactions modify data stored on a volume managed by the source filer and which is mirrored on an image volume managed by the destination filer to preserve the transactions for disaster recovery. The destination filer is connected to the source filer over a network. The destination filer is typically at a different physical location than the source filer, so that both filers will not be disabled by the same event. A destination filer can mirror several source filers, and a source filer can mirror to several destination filers.
The destination filer can be stored at a remote location. A network may couple the two filers to facilitate communication between them. Each filer may be considered a “node” connected to the network. Nodes on a network communicate with each other by sending packets that use the same network protocol. Each node on the network has a network address that identifies that node. For example, if a source and a destination filer are connected over a Transmission Control Protocol/Internet Protocol (TCP/IP) network, the source and the destination filer will each have a unique Internet Protocol (IP) address.
To establish a connection between the source filer and the destination filer over a TCP/IP network, a source filer establishes a connection with the destination filer using the destination filer's IP address. In some instances, a source filer requests a connection using an IP address, and the destination filer is accessible only over a Fibre Channel (FC) network. An FC network uses Fibre Channel Identifications (FCIDs) as node addresses. The source and destination filers may each have both IP addresses and FCIDs. If the source filer requests a connection with an IP address over a FC network, the IP address will have to be resolved into the appropriate FCID. An FC link encapsulation (FC-LE) standard known as FCIP allows FC to encapsulate TCP/IP packets. However, FCIP is not widely supported by FC switches, and many FC users prefer not to use FCIP. Therefore, what is needed is an alternative method for resolving IP addresses into FCIDs. Further, what is also needed is an alternative method for using FC to forward TCP/IP packets.